<?php
class Usuarios_Form_ParPersonales extends Form_Cna {
	protected $entidadesBancarias;
		
	public function __construct($options = null) {
		parent::__construct($options);
	}
	
	public function setEntidadesBancarias($entidadesBancarias) {
		$this->entidadesBancarias = $entidadesBancarias;
	}
	
	public function init() {
		$domConfig = Zend_Registry::get('domConfig'); //esto se crea en el bootstrap
		$appConfig = Zend_Registry::get('appConfig');
		
		//Crea el formulario para el registro de usuarios del sistema
		$this->setName ( 'info_usuario' );
		$this->setMethod("POST");
		$this->setAttrib("autocomplete","on");
		$this->setAttrib('enctype', 'multipart/form-data');
		
		$array_elements[] = new Zend_Form_Element_Hidden("codusuario");
		$array_elements[] = new Zend_Form_Element_Hidden("codcuenta");
		
		$cedula = new Zend_Form_Element_Text ( 'cedula' );
		$cedula->setLabel( 'Identificación : ' );
		$cedula->setRequired ( true );
		$cedula->addFilter ( 'StripTags' );
		$cedula->addFilter ( 'StringTrim' );
		$cedula->addValidator ( 'digits' );
		$array_elements[]=$cedula;
		
		$tipodocumento = new Zend_Form_Element_Select('tipodocumento');
		$tipodocumento->setRegisterInArrayValidator(false);
		$tipodocumento->setMultiOptions($domConfig->DOM_TIPODOCUMENTO->toArray());
        $tipodocumento->setRequired(true);
        $array_elements[]=$tipodocumento;
                      
		$nombres = new Zend_Form_Element_Text ( 'nombres' );
		$nombres->setLabel ( 'Nombres : ' );
		$nombres->setAttribs(array('size'=>30));
		$nombres->setRequired ( true );
		$nombres->addFilter ( 'StripTags' );
		$nombres->addFilter ( 'StringTrim' );
//		$nombres->addFilter('StringToUpper');
		$array_elements[]=$nombres;
				               
		$apellidos = new Zend_Form_Element_Text ( 'apellidos' );
		$apellidos->setLabel ( 'Apellidos : ' );
		$apellidos->setAttribs(array('size'=>30));
		$apellidos->setRequired ( true );
		$apellidos->addFilter ( 'StripTags' );
		$apellidos->addFilter ( 'StringTrim' );
//		$apellidos->addFilter('StringToUpper');
		$array_elements[]=$apellidos;
				
		$genero = new Zend_Form_Element_Select('genero');
		$genero->setRegisterInArrayValidator(false);
		$genero->setLabel ( 'Genero : ' );
		$genero->setMultiOptions($domConfig->DOM_GENERO->toArray());
        $genero->setRequired(true);
        $array_elements[]=$genero;

		$direccionresidencia = new Zend_Form_Element_Text ( 'direccionresidencia' );
		$direccionresidencia->setLabel ( 'Dirección : ' );
		$direccionresidencia->setAttribs(array('size'=>30));
		$direccionresidencia->setRequired ( true );
		$direccionresidencia->addFilter ( 'StripTags' );
		$direccionresidencia->addFilter ( 'StringTrim' );
//		$direccionresidencia->addFilter('StringToUpper');
		$array_elements[]=$direccionresidencia;

		$ubicacion = new Zend_Form_Element_Text ( 'ubicacion' );
		$ubicacion->setLabel ( 'Ubicación : ' );
		$ubicacion->setAttribs(array('size'=>30));
		//$ubicacion->setRequired ( true );
		$ubicacion->addFilter ( 'StripTags' );
		$ubicacion->addFilter ( 'StringTrim' );
		$array_elements[]=$ubicacion;
		
		$codubicacion = new Zend_Form_Element_Hidden("codubicacion");
//		$codubicacion->setRequired(true);
		$array_elements[]=$codubicacion;

		$emailexterno = new Zend_Form_Element_Text ( 'emailexterno' );
		$emailexterno->setLabel ( 'Personal : ' );
		$emailexterno->setAttribs(array('size'=>30));
		$emailexterno->setRequired ( true );
		$emailexterno->addFilter ( 'StripTags' );
		$emailexterno->addFilter ( 'StringTrim' );
		$emailexterno->addValidator ( 'EmailAddress');
		$array_elements[]=$emailexterno;

		$emailalterno = new Zend_Form_Element_Text ( 'emailalterno' );
		$emailalterno->setLabel ( 'Alternativo : ' );
		$emailalterno->setAttribs(array('size'=>30));
		$emailalterno->setRequired ( true );
		$emailalterno->addFilter ( 'StripTags' );
		$emailalterno->addFilter ( 'StringTrim' );
		$emailalterno->addValidator ( 'EmailAddress' );
		$array_elements[]=$emailalterno;

		$telefonocelular = new Zend_Form_Element_Text ( 'telefonocelular' );
		$telefonocelular->setLabel ( 'Celular : ' );
		$telefonocelular->setAttribs(array('size'=>30));
		$telefonocelular->setRequired ( true );
		$telefonocelular->addFilter ( 'StripTags' );
		$telefonocelular->addFilter ( 'StringTrim' );
		$array_elements[]=$telefonocelular;

		$telefonoresidencia = new Zend_Form_Element_Text ( 'telefonoresidencia' );
		$telefonoresidencia->setLabel ( 'Teléfono casa : ' );
		$telefonoresidencia->setAttribs(array('size'=>30));
		//$telefonoresidencia->setRequired ( true );
		$telefonoresidencia->addFilter ( 'StripTags' );
		$telefonoresidencia->addFilter ( 'StringTrim' );
		$array_elements[]=$telefonoresidencia;

		$telefonotrabajo = new Zend_Form_Element_Text ( 'telefonotrabajo' );
		$telefonotrabajo->setLabel ( 'Teléfono oficina : ' );
		$telefonotrabajo->setAttribs(array('size'=>30));
		$telefonotrabajo->setRequired ( true );
		$telefonotrabajo->addFilter ( 'StripTags' );
		$telefonotrabajo->addFilter ( 'StringTrim' );
		$array_elements[]=$telefonotrabajo;

		$fax = new Zend_Form_Element_Text ( 'fax' );
		$fax->setLabel ( 'Fax : ' );
		$fax->setAttribs(array('size'=>30));
		//$fax->setRequired ( true );
		$fax->addFilter ( 'StripTags' );
		$fax->addFilter ( 'StringTrim' );
		$array_elements[]=$fax;
		
		$element = new Zend_Form_Element_Text('fechanacimiento');
		$element->setLabel('Fecha de nacimiento : (dd/mm/yyyy) ');
		$element->setRequired(true);
//		$element->setAttrib("readonly","readonly");
		$array_elements[] = $element;
        
		$ubicacion1 = new Zend_Form_Element_Text ( 'ubicacionnacimiento' );
		$ubicacion1->setLabel ( 'Lugar de nacimiento : ' );
		$ubicacion1->setRequired(true);
		$ubicacion1->setAttribs(array('size'=>30));
		$ubicacion1->addFilter ( 'StripTags' );
		$ubicacion1->addFilter ( 'StringTrim' );
		$array_elements[]=$ubicacion1;
		
		$codubicacion1 = new Zend_Form_Element_Hidden("codubicacionnacimiento");
//		$codubicacion1->setRequired(true);
		$array_elements[]=$codubicacion1;
		
		$element = new Zend_Form_Element_Text('fechacapacitacion');
		$element->setLabel('Fecha de capacitación :');
//		$element->setRequired(true);
		$element->setAttrib("readonly","readonly");
		$array_elements[] = $element;
		
		$element = new Zend_Form_Element_Text('fechadesignacionpar');
		$element->setLabel('Fecha designación par :');
//		$element->setRequired(true);
		$element->setAttrib("readonly","readonly");
		$array_elements[] = $element;
		
		$element = new Zend_Form_Element_File('archivo');
		$element->setLabel('Adjuntar foto :');
        $element->setMaxFileSize(10485760);
		$element->addValidator('Size', false, 10485760); // 10MB = 10,485,760 bytes
		$element->setDestination($appConfig->get("ruta_archivos"));
        $element->setRequired(false);
        $element->setValueDisabled(true);
        $element->addValidator('Extension', false, 'jpg,jpeg,png,gif,bmp,png');
        $element->addValidator('Count', false, 1);
        $array_elements[] = $element;
		
		$element = new Zend_Form_Element_Text ( 'numero' );
		$element->setLabel ( 'Número de cuenta : ' );
		$element->setAttribs(array('size'=>30));
		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
		$array_elements[]=$element;
        
        $element = new Zend_Form_Element_Select('tipo');
		$element->setRegisterInArrayValidator(false);
		$element->setLabel ( 'Tipo de cuenta : ' );
		$element->setMultiOptions($domConfig->TIPOCUENTA->toArray());
        $element->setRequired(true);
        $array_elements[]=$element;

        $element = new Zend_Form_Element_Select('codbanco');
		$element->setRegisterInArrayValidator(false);
		$element->setLabel ( 'Entidad : ' );
		$element->setMultiOptions($this->entidadesBancarias);
        $element->setRequired(true);
        $array_elements[]=$element;
                
		$ubicacion2 = new Zend_Form_Element_Text ( 'ubicacionbanco' );
		$ubicacion2->setLabel ( 'Ciudad : ' );
		$ubicacion2->setAttribs(array('size'=>30));
		$ubicacion2->addFilter ( 'StripTags' );
		$ubicacion2->addFilter ( 'StringTrim' );
		$array_elements[]=$ubicacion2;
		
		$codubicacion2 = new Zend_Form_Element_Hidden("codubicacionbanco");
//		$codubicacion2->setRequired(true);
		$array_elements[]=$codubicacion2;
        
		$submit = new Zend_Form_Element_Submit ( 'btnSubmit' );
		$submit->setValue('Guardar');
		$submit->setLabel("Guardar");
		$submit->setAttrib("class", "iceCmdBtn");
		$array_elements[]=$submit;
		
		$this->addElements ($array_elements);
		
		$this->loadViewScriptDecorators();
		//$this->loadTableDecorators();
	}
	
	public function loadViewScriptDecorators() {
		$this->setDecorators ( array (array ('viewScript', array ('viewScript' => 'viewscripts/parpersonales_form.phtml' ) ) ) );
	}

}